package com.gitee.W_Jun;

import sun.security.util.CurveDB;

import java.net.URL;
import java.security.Provider;

/**
 * @author https://gitee.com/W_Jun
 * @date 2021-12-20 0:01
 * @Description 获取BootstrapClassLoader 能够加载的API的路径，以及扩展类加载器能够加载的路径
 */
public class ClassLoaderTest1 {
    public static void main(String[] args) {
        System.out.println("*********启动类加载器************");
        // 获取BootstrapClassLoader 能够加载的API的路径
        URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();
        for (URL url : urls) {
            System.out.println(url.toExternalForm());
        }

        // 从上面路径中，随意选择一个类，来看看他的类加载器是什么？
        // 返回null，说明是引导类加载器
        ClassLoader classLoader = Provider.class.getClassLoader();
        System.out.println(classLoader);

        System.out.println("*********扩展类加载器************");
        String extDirs = System.getProperty("java.ext.dirs");
        for (String path : extDirs.split(";")) {
            System.out.println(path);
        }
    }
}